This invention relates to electric motor control, and in particular to pulse width modulation (PWM) control of multiple phase brushless motors.
In order to control an electric motor it is necessary to determine the position of the rotor as it rotates relative to the stator, so that the current through the motor windings can be controlled to produce the desired torque. This can be achieved using a dedicated position sensor, or by estimating the position from other parameters using a position sensorless control scheme.
Position sensorless control schemes reduce system costs by replacing the position sensor that measures the rotor position with a position estimator algorithm in the controller. This algorithm determines the position of the rotor using knowledge of the applied phase or line—line voltages, the measured phase voltages, and a model of the motor drive system.
There are many known techniques for implementing sensorless control, but they fall into two broad categories. The most established category is the back-emf detection algorithm, which is suitable for detecting the motor position from low speed to the maximum speed of the motor. Back-emf detection algorithms use a model of the motor fed with the known values of the applied voltages and measured voltages, which enables them to robustly determine the rotor back-emf, and hence the position of the rotor. However, these algorithms cannot detect the position down to zero speed because there is no back emf to detect at zero speed.
The second category is the voltage-injection technique, which has emerged over recent years to enable the rotor position to be determined at low speeds and standstill. In voltage injection algorithms, a known voltage signal is superposed onto the normal applied phase voltages. The rate of change of current induced by this voltage signal is then measured, enabling the instantaneous inductance of that phase winding to be determined. By calculating the instantaneous inductance of all three phases, it is possible to detect the position of the rotor based on a simple model of inductance variation over position. These inductance variations will tend to be caused by either rotor saliency, localised saturation of the stator tooth tips due to the rotor field, or a combination of both. Since the injected voltage signal does not produce useful motive torque, it reduces the maximum “useful” voltage at the windings. To avoid compromising the power output of the motor, voltage injection techniques tend to be used in combination with a back-emf detection technique. The voltage injection technique provides position information from zero to low speed (where low speed is typically 10–20% of base speed), and the back-emf technique provides the position at low to high speeds, as shown in FIG. 1.
The principles underlying the voltage injection technique are as follows. A positive voltage is applied to one phase of the motor, and the resulting rate of change of the current is measured. A negative voltage is then applied and the rate of change of current is measured again. From the applied voltages and measured rates of change of current, it is possible to eliminate the unknown back-emf term and determine the instantaneous inductance of that phase. By measuring the instantaneous inductance of all three phases, the position of the rotor can be determined.
An example of a known waveform is shown in FIG. 2. This waveform is used to determine the inductance of a single phase. The phase current is sampled three times during the test pattern to determine the rising and falling rates of change of current. A different phase inductance is measured each time the test pattern is applied, so that after a period of typically a few ms all three of the phase inductances are known, and the position can be determined.
Obviously with this technique, it is not possible to measure all three inductances simultaneously. However, each time a new inductance is measured, a new position is calculated. This calculation is based on the latest inductance value for each phase, so that although one phase will have a very recent measurement of inductance, the value for the other two phases will be somewhat older.
This technique can work reasonably well and has some advantages such as the ability to determine position without prior knowledge of motor parameters and reasonably low computational requirements. However, there are some obvious disadvantages. One problem is that because the inductances are not sampled simultaneously, there is some error introduced into the position measurement. This error will be exacerbated if either the d- or q-axis inductances change rapidly with operating conditions, which could be the case with certain types of buried magnet motors. The delay between the measurements also introduces further time delays into the position response of the system. This reduces the dynamic capability of the drive, which can be a problem, particularly in a servo-drive system.
The biggest problem with this approach is the generation of acoustic noise. Interrupting the PWM pattern every 1–2 ms produces a strong acoustic tone in the 250–500 Hz range. Practical demonstrations of such a system suggest that as it stands this noise would be unacceptable for most automotive applications.
Thus, it would be desirable to provide a motor control system including a position detection system that would reduce acoustic noise.
EP 0 856 937 discloses a motor position detection system in which the rate of change of current in the active stator coils is measured during the normal PWM cycle, and used to determine rotor positions.